package main

//struct使用tag
import (
	"encoding/json"
	"fmt"
)

type A struct {
	Num int
}

type B struct {
	Num int
}

type Monster struct {
	Name  string `json:"name"`
	Age   int    `json:"age"`
	Skill string `json:"skill"`
}

func main() {
	var a A
	var b B
	a = A(b) //转换的要求是 结构体内的字段名和字段类型要完全相同且是强转
	fmt.Println(a, b)

	monster := Monster{"牛魔王", 500, "芭蕉扇"}
	//json.Marshal函数中使用反射
	jsonstr, error := json.Marshal(monster)
	if error != nil {
		fmt.Println("json处理出错", error)
	}
	fmt.Println(string(jsonstr))

}
